Search engine request method, product, and apparatus

ABSTRACT

An accessible URI may be generated in response to determining that an existing valid URI is inaccessible. When a valid URI is determined to be not accessible, then a valid URI may be generated to access content by extracting keywords from the non-query component URI (e.g., directory, domain, port, or fragment, etc.) of the inaccessible URI and using such keywords as a search request or as the query portion of the generated accessible URI.

OTHER APPLICATIONS

This application claims the benefit of the following patentapplications, which are hereby incorporated incorporates the followingapplications by reference:

-   -   1.this application is a continuation-in-part of U.S. patent        application Ser. No. 09/532,500 filed Mar. 21, 2000, by        Schneider, entitled “Fictitious domain name method, product, and        apparatus”, which claims the benefit of now U.S. Pat. No.        7,136,932; this application is also a continuation-in-part of        U.S. patent application Ser. No. 09/525,350 filed Mar. 15, 2000,        by Schneider, entitled “Method for integrating domain name        registration with domain name resolution”and, now U.S. Pat. No.        6,338,082; this application also claims the benefit of U.S.        Provisional Application Ser. No. 60/143,859 filed Jul. 15, 1999,        by Schneider entitled “Method and apparatus for generation,        registration, resolution, and emulation of name space”, now        abandoned,; this application also claims the benefit of U.S.        Provisional Application Ser. No. 60/135,751 filed May 25, 1999,        by Schneider entitled “Method and system for name space        resolution”, now abandoned and; this application also claims the        benefit of U.S. Provisional Application Ser. No. 60/125,531        filed Mar. 22, 1999, by Schneider entitled “Method and system        for the emulation of name space”, now abandoned.;    -   2.this application also claims the benefit of U.S. Provisional        Application Ser. No. 60/153,594 filed Sep. 13, 1999, by        Schneider entitled “Method and apparatus for using a portion of        a URI to select and display advertising.”;    -   3.this application also claims the benefit of U.S. Provisional        Application Ser. No. 60/152,015 filed Sep. 1, 1999, by        Schneider, et al., entitled “Method and apparatus for using a        portion of a URI as a search request.”

FIELD OF THE INVENTION

This invention generally relates to search requests, and morespecifically relates to a method and apparatus for using a non-query URIcomponent as a search request.

BACKGROUND OF THE INVENTION

The Internet is a vast computer network consisting of many smallernetworks that span the world. A network provides a distributedcommunicating system of computers that are interconnected by variouselectronic communication links and computer software protocols. Becauseof the Internet's distributed and open network architecture, it ispossible to transfer data from one computer to any other computerworldwide. In 1991, the World-Wide-Web (WWW or Web) revolutionized theway information is managed and distributed.

The Web is based on the concept of hypertext and a transfer method knownas Hypertext Transfer Protocol (HTTP) which is designed to run primarilyover a Transmission Control Protocol/Internet Protocol (TCP/IP)connection that employs a standard Internet setup. A server-computer mayissue the data and a client computer displays or processes it. TCP maythen convert messages into streams of packets at the source, thenreassemble them back into messages at the destination. Internet Protocol(IP) handles addressing, seeing to it that packets are routed acrossmultiple nodes and even across multiple networks with multiplestandards. HTTP protocol permits client systems connected to theInternet to access independent and geographically scattered serversystems also connected to the Internet.

Client side browsers, such as Netscape Navigator and/or MicrosoftInternet Explorer (MSIE) provide graphical user interface (GUI) basedclient applications that implement the client side portion of the HTTPprotocol. One format for information transfer is to create documentsusing Hypertext Markup Language (HTML). HTML pages are made up ofstandard text as well as formatting codes that indicate how the pageshould be displayed. The client side browser reads these codes in orderto display the page. A web page may be static and requires no variablesto display information or link to other predetermined web pages. A webpage is dynamic when arguments are passed which are either hidden in theweb page or entered from a client browser to supply the necessary inputsdisplayed on the web page. Common Gateway Interface (CGI) is a standardfor running external programs from a web server. CGI specifies how topass arguments to the executing program as part of the HTTP serverrequest. Commonly, a CGI script may take the name and value argumentsfrom an input form of a first web page which may be used as a query toaccess a database server and generate an HTML web page with customizeddata results as output that is passed back to the client browser fordisplay.

The Web is a means of accessing information on the Internet that allowsa user to “surf the web” and navigate the Internet resourcesintuitively, without technical knowledge. The Web dispenses withcommand-line utilities, which typically require a user to transmit setsof commands to communicate with an Internet server. Instead, the Web ismade up of millions of interconnected web pages, or documents, which maybe displayed on a computer monitor. Hosts running special serversprovide the Web pages. Software that runs these Web servers isrelatively simple and is available on a wide range of computer platformsincluding PC's.

A Uniform Resource Identifier (URI) is a compact string of charactersfor identifying an abstract or physical resource. URIs, is the genericset of all names and addresses that refer to objects on the Internet.URLs that refer to objects accessed with existing protocols are known asURLs. A URL is the address of a file accessible on the Internet. The URLcontains the name of the protocol required to access the resource, adomain name, Fully Qualified Domain Name (FQDN), or IP address thatidentifies a specific computer on the Internet, and a hierarchicaldescription of a file location on the computer. In addition, the last(optional) part of the URL may be a “?” followed by a query stringhaving name/value pairs for parameters (e.g. “?size=small&quantity=3”)or a “#” followed by a fragment identifier indicating a particularposition within the specified document.

The URI “http://www.example.com:80/index.html#appendix” is theconcatenation of several components where “http:” is the scheme orprotocol, “//www.example.com” is the FQDN having “www” as the host ofthe domain name “example.com”, “:80” is the port connection for the HTTPserver request, “index.html” is the filename located on the server,“#appendix” is the identifier to display a fragment of the HTML filecalled “index”. The URL “http://www.example.com” also retrieves an HTMLfile called “index” on a HTTP server called “example.com”. By default,when either a port or filename is omitted upon accessing a HTTP servervia a URL, the client browser interprets the request by connecting viaport 80, and retrieving the HTML file called “index”.

A domain name consists of two parts: a host and a domain. Technically,the letters to the right of the “dot” (e.g., tut.net) are referred to asTop Level Domains (TLDs), while hosts, computers with assigned IPaddresses that are listed in specific TLD registries are known assecond-level domains (SLDs). For the domain name “tut.net”, “.net” isthe TLD, and “tut” is the SLD. Domain name space is the orderedhierarchical set of all possible domain names either in use or to beused for locating an IP address on the Internet. TLDs are known astop-level domains because they comprise the highest-order name spaceavailable on the Internet. Second-level domains, as well as third-leveldomains (3LDs) such as “king.tut.net”, are subsidiary to TLDs in thehierarchy of the Internet's DNS.

The main use of a web browser location field is for locating URLs toaccess resources. Entering a URL in the location field of a web browserserves as a means to access that URL. Because the function of thelocation field is so critical for accessing resources, the design ofsuch location fields have rivaled much competition and innovationbetween existing web browser products. Improvements to better track andorganize sites of URLs that users have visited such as Bookmark folders,URL history, and the personal toolbar are all examples of functionalitydesigned to help users navigate.

A more recent feature called Smart Browsing is integrated into NetscapeNavigator that uses Internet Keywords so users can streamline the use ofURLs and get fast access to web sites using the browser's locationfield. Any single or multiword strings typed into the browser's locationfield that does not include a “.” are sent via HTTP to a server at“netscape.com”. The keyword server pulls the string and compares it toseveral separate lists of keyword-URL pairs. If the keyword system findsa match, it redirects the user's browser to the URL of the keyword-URLpair. Failing a match against the lists, the user's browser isredirected to a Netscape Search page with the typed string as the searchquery.

U.S. Provisional Application Ser. No. 60/143,859 filed Jul. 15, 1999, bySchneider entitled “Method and apparatus for generation, registration,resolution, and emulation of name space”, now abandoned, uses a domainname having a top level domain alias (TLDA) to simultaneously access andsearch a given resource demonstrating the combination of both resolutionand search services. For instance, when input is received and processedsuch as “http://example.44106”, steps are performed to determine that“0.44106” is not a resolvable TLD and may be processed instead as asearch term. Steps may then be performed to translate input into a validURI such as “http://example.com/weather.cgi?zip=44106”. When the URI isaccessed, a CGI script called “weather” is executed passing the value“44106” for the name “zip”, which in this case represents a zip code. Byso doing a fictitious name is used to simultaneously access both aresource and search request.

This clearly demonstrates the need for methods of encouraging thecreative use of URIs to access resources. Accordingly, in light of theabove, there is a strong need in the art for a system and method toimprove how resources and content may be accessed.

SUMMARY OF THE INVENTION

Briefly, the present invention allows URI components to be used as asearch term in a query or search request. The invention allows for thenon-query portion of a first URI to be used in the query portion of asecond URI to generate dynamic content. The present invention allows fora shorter URI to be created on the fly in real-time that accessescontent of a longer URI. The invention allows the user to combineBoolean logic with valid URI notation to generate a search request fromthe URI or vice-versa.

In general, in accordance with the present invention a method forlocating a network resource from a first identifier includes the stepsof determining whether the first identifier is accessible, accessing thefirst identifier in response to determining that the first identifier isaccessible, generating a second identifier in response to determiningthat the first identifier is not accessible, wherein said secondidentifier is generated by retrieving information from one of a usermodifiable configuration settings, template, GO LIST, name translationtable, and registry, and accessing said second identifier in response togenerating said second identifier.

In accordance with another aspect of the present invention a method forlocating a network resource from a first identifier having a validaccessible first URI includes the steps of parsing at least onenon-query URI component from the first URI, generating a validaccessible second URI having a query component that corresponds to thefirst URI, and simultaneously accessing both the first URI and saidsecond URI.

In accordance with yet another aspect of the present invention a methodfor locating a network resource from a first identifier having a validfirst URI includes the steps of determining whether the first URI isaccessible, accessing the first URI in response to determining that thefirst URI is accessible, parsing at least one non-query URI componentfrom the first URI in response to determining that the first URI is notaccessible, generating a valid second URI having a query component thatcorresponds to the first URI, and accessing said second URI.

In accordance with yet additional aspects of the present invention, anapparatus which implements substantially the same functionality insubstantially the same manner as the methods described above isprovided.

In accordance with other additional aspects of the present invention, acomputer-readable medium that includes computer-executable instructionsmay be used to perform substantially the same methods as those describedabove is provided.

The foregoing and other features of the invention are hereinafter fullydescribed and particularly pointed out in the claims. The followingdescription and the annexed drawings set forth in detail one or moreillustrative aspects of the invention, such being indicative, however,of but one or a few of the various ways in which the principles of theinvention may be employed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1a is a block diagram of an exemplary distributed computer systemin accordance with the present invention.

FIG. 1b is a block diagram illustrating exemplary information recordsstored in memory in accordance with the present invention.

FIG. 2 is a flowchart illustrating the steps performed by a prior artsystem for accessing a URI.

FIG. 3 is a flowchart illustrating the steps performed for generating avalid URI in accordance with the present invention.

FIG. 4 is a flowchart illustrating the steps performed for generating avalid URI in response to determining that an existing valid URI isinaccessible in accordance with the present invention.

FIG. 5 is a flowchart illustrating the steps performed for generating aframe having an accessible URI in accordance with the present invention.

FIG. 6 is a flowchart illustrating the steps performed for creatingfiles or directories as needed to form an accessible URI in accordancewith the present invention.

FIG. 7 is a flowchart illustrating the steps performed for extracting adomain to be used as a search request in accordance with the presentinvention.

FIG. 8 is a diagram depicting how results may be displayed in a webbrowser in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention will now be described with reference to thedrawings, wherein like reference numerals are used to refer to likeelements throughout.

Turning first to the nomenclature of the specification, the detaileddescription that follows represents processes and symbolicrepresentations of operations by conventional computer components,including a local processing unit, memory storage devices for the localprocessing unit, display devices, and input devices. Furthermore, theseprocesses and operations may utilize conventional computer components ina heterogeneous distributed computing environment, including remote fileservers, computer servers, and memory storage devices. These distributedcomputing components may be accessible to the local processing unit by acommunication network.

The processes and operations performed by the computer include themanipulation of data bits by a local processing unit and/or remoteserver and the maintenance of these bits within data structures residentin one or more of the local or remote memory storage devices. These datastructures impose a physical organization upon the collection of databits stored within a memory storage device and represent electromagneticspectrum elements.

A process may generally be defined as being a sequence ofcomputer-executed steps leading to a desired result. These stepsgenerally require physical manipulations of physical quantities.Usually, though not necessarily, these quantities may take the form ofelectrical, magnetic, or optical signals capable of being stored,transferred, combined, compared, or otherwise manipulated. It isconventional for those skilled in the art to refer to these signals asbits or bytes (when they have binary logic levels), pixel values, works,values, elements, symbols, characters, terms, numbers, points, records,objects, images, files, directories, subdirectories, or the like. Itshould be kept in mind, however, that these and similar terms should beassociated with appropriate physical quantities for computer operations,and that these terms are merely conventional labels applied to physicalquantities that exist within and during operation of the computer.

It should also be understood that manipulations within the computer areoften referred to in terms such as adding, comparing, moving,positioning, placing, illuminating, removing, altering, etc., which areoften associated with manual operations performed by a human operator.The operations described herein are machine operations performed inconjunction with various input provided by a human operator or user thatinteracts with the computer. The machines used for performing theoperation of the present invention include local or remotegeneral-purpose digital computers or other similar computing devices.

In addition, it should be understood that the programs, processes,methods, etc. described herein are not related or limited to anyparticular computer or apparatus nor are they related or limited to anyparticular communication network architecture. Rather, various types ofgeneral-purpose machines may be used with program modules constructed inaccordance with the teachings described herein. Similarly, it may proveadvantageous to construct a specialized apparatus to perform the methodsteps described herein by way of dedicated computer systems in aspecific network architecture with hard-wired logic or programs storedin nonvolatile memory, such as read only memory.

FIG. 1a illustrates an exemplary system for providing a distributedcomputer system 100 in accordance with one aspect of the presentinvention and may include client computers or any network accessapparatus 110 connected to server computers 120 via a network 130. Thenetwork 130 may use Internet communications protocols (IP) to allowclients 110 to communicate with servers 120. The network accessapparatus 110 may include a modem or like transceiver to communicatewith the electronic network 130. The modem may communicate with theelectronic network 130 via a line 116 such as a telephone line, an ISDNline, a coaxial line, a cable television line, a fiber optic line, or acomputer network line. Alternatively, the modem may wirelesslycommunicate with the electronic network 130. The electronic network 130may provide an on-line service, an Internet service provider, a localarea network service, a wide area network service, a cable televisionservice, a wireless data service, an intranet, a satellite service, orthe like.

The client computers 110 may be any network access apparatus includinghand held devices, palmtop computers, personal digital assistants(PDAs), notebook, laptop, portable computers, desktop PCs, workstations,and/or larger/smaller computer systems. It is noted that the networkaccess apparatus 110 may have a variety of forms, including but notlimited to, a general purpose computer, a network computer, an internettelevision, a set top box, a web-enabled telephone, an internetappliance, a portable wireless device, a game player, a video recorder,and/or an audio component, for example.

Each client 110 typically includes one or more processors 166, memories168, and input/output devices 170. An input device may be any suitabledevice for the user to give input to client computer system 110, forexample: a keyboard, a 10-key pad, a telephone key pad, a light pen orany pen pointing device, a touchscreen, a button, a dial, a joystick, asteering wheel, a foot pedal, a mouse, a trackball, an optical ormagnetic recognition unit such as a bar code or magnetic swipe reader, avoice or speech recognition unit, a remote control attached via cable orwireless link to a game set, television, and/or cable box. A data glove,an eye-tracking device, or any MIDI device may also be used. A displaydevice may be any suitable output device, such as a display screen,text-to-speech converter, printer, plotter, fax, television set, oraudio player. Although the input device is typically separate from thedisplay device, they may be combined; for example: a display with anintegrated touchscreen, a display with an integrated keyboard, or aspeech-recognition unit combined with a text-to-speech converter.

The servers 120 may be similarly configured. However, in many instancesserver sites 120 include many computers, perhaps connected by a separateprivate network. In fact, the network 130 may include hundreds ofthousands of individual networks of computers. Although client computers110 are shown separate from the server computers 120, it is understoodthat a single computer might perform the client and server roles. Thoseskilled in the art will appreciate that the computer environment 100shown in FIG. 1a is intended to be merely illustrative. The presentinvention may also be practiced in other computing environments. Forexample, the present invention may be practiced in multiple processorenvironments wherein the client computer includes multiple processors.Moreover, the client computer need not include all of the input/outputdevices as discussed above and may also include additional devices.Those skilled in the art will appreciate that the present invention mayalso be practiced via Intranets and more generally in distributedenvironments in which a client computer requests resources from a servercomputer.

During operation of the distributed system 100, users of the clients 110may desire to access information records 122 stored by the servers 120while utilizing, for example, the Web. Furthermore, such server systems120 may also include one or more search engines having one or moredatabases 124. The records of information 122 may be in the form of Webpages 150. The pages 150 may be data records including as content plaintextual information, or more complex digitally encoded multimediacontent, such as software programs, graphics, audio signals, videos, andso forth. It should be understood that although this description focuseson locating information on the World-Wide-Web, the system may also beused for locating information via other wide or local area networks(WANs and LANs), or information stored in a single computer using othercommunications protocols.

The clients 110 may execute Web browser programs 112, such as NetscapeNavigator or MSIE to locate the pages or records 150. The browserprograms 112 enable users to enter addresses of specific Web pages 150to be retrieved. Typically, the address of a Web page is specified as aURI or more specifically as a URL. In addition, when a page has beenretrieved, the browser programs 112 may provide access to other pages orrecords by “clicking” on hyperlinks (or links) to previously retrievedWeb pages. Such links may provide an automated way to enter the URL ofanother page, and to retrieve that page.

FIG. 1b illustrates a block diagram of a processor 166 coupled to astorage device such as memory 168 and to input/output devices 170 in aclient 110 and/or server 120 computing system. Stored in memory 168 maybe information records 122 having any combination of exemplary contentsuch as lists, files, and databases. Such records may include forexample: user modifiable configuration settings 174, identifiergeneration routines 176, FDN registry 178, TLD cache 180, prefixdatabase 182, Templates 184, GO List 186, name translation table 188,and advertising cache 190. These information records may be furtherintroduced and discussed in more detail throughout the disclosure ofthis invention.

FIG. 2 is a flowchart illustrating the steps performed by a prior artsystem for locating a network resource from an identifier by accessing aURI. A device such as a network access apparatus 110, servlet, applet,stand-alone executable program, or user interface element such as a textbox object, command line, speech to text interface, location field 814of a web browser 112, may receive and parse input such as text or voicein step 210. It then may be determined in step 215 whether the input 210is a URI. If the input is a URI, then an attempt may be made in step 220to access the URI. The URI may be accessed when it is determined in step222 that the URI is accessible. If the input is not a URI, then it maybe determined in step 225 whether a URI can be generated from the input(e.g., if a scheme is missing the prefix “http://” or another schemeprefix may be concatenated to input). If so, then a URI is generated 230and an attempt may be made in step 220 to access the URI. If the URI cannot be generated or accessed, then a message indicating that the URI cannot be generated or accessed may be displayed in step 235.

FIG. 3 is a flowchart illustrating the steps performed for generating avalid URI. When it is determined in step 225 that a URI can not begenerated from the input 210 in accordance with methods known to one ofordinary skill in the art, then it may be determined in step 310 whetherit is configured to determine whether other methods may be applied toaccess a valid URI corresponding to input. If configuration 174 is notenabled, then a message indicating that the URI can not be generated maybe displayed in step 235. However, when configuration is enabled, thenat least one other method may be applied in step 315 in sequence orparallel including methods explained in U.S. patent application Ser. No.09/532,500 filed Mar. 21, 2000, by Schneider, entitled “Fictitiousdomain name method, product, and apparatus” such as retrievinginformation from user modifiable configuration settings 174, template184, GO LIST 186, name translation table 188, and registry 178 (e.g.,processing a FDN, processing a TLDA as a search request, and multipleaccessibility from a plurality of generated URIs, etc.).

FIG. 4 is a flowchart illustrating the steps performed for generating avalid URI in response to determining that an existing valid URI isinaccessible. When a valid URI is determined in step 222 to be notaccessible, then a valid URI may be generated in step 410 to accesscontent by extracting keywords from the non-query component URI (e.g.,directory, domain, port, or fragment, etc.) of the inaccessible URI andusing such keywords as a search request or as the query portion of thegenerated valid URI. After valid URI generation in step 410 an attemptmay be made in step 220 to access the URI.

In effect, the non-query portion of a first URI may be used in the queryportion of a second URI to generate dynamic content. Validity of URIsyntax is explained in T. Berners-Lee, “Informational RFC (Request forComment) 1630: Universal Resource Identifiers in WWW—A Unifying Syntaxfor the Expression of Names and Addresses of Objects on the Network asused in the World-Wide Web”, Internet Engineering Task Force (IETF),June 1994, “http://www.faqs.org/rfcs/rfc1630.html”, which is hereinincorporated by reference.

Typically, when a HTTP request is submitted to access a URI that doesnot exist, an error 404 code is returned from the requested web server,and in turn, a script may be executed to redirect and display a gen-ericweb page informing the user of the error 404 code. A modification may bemade to the script to generate an accessible URI by creating theappropriate directories or files on the web server in response to anerror 404 code (or any other applicable error code from the 300 series,400 series, or 500 series) such that when the HTTP request isresubmitted the URI exists and is accessible.

FIG. 5 is a flowchart illustrating the steps performed for generating aframe having an accessible URI. After valid URI generation in step 410,a script may be executed in step 510 to create a second accessible URIby adding the appropriate directories and files. The content of thenewly created file may include at least one frame that displays thecontent of the valid generated URI. After the second accessible URI iscreated, an attempt may be made in step 220 to access the second URI.

FIG. 6 is a flowchart illustrating the steps performed for creatingfiles or directories as needed to form an accessible URI. When it isdetermined in step 222 that a valid URI is not accessible it may then befurther determined in step 610 whether the URI has the minimum form of“scheme://SLD.TLD/FLD” where the domain name is “SLD.TLD” and the pathis “/FLD”, which in this case represents a first level directory (FLD).If the URI is not of the minimum form then steps (such as 410 and/or510) may be performed. When it is determined in step 610 that the URI isof the minimum form, then it may be determined in step 615 whether theFLD exists. If the FLD exists, then it may be further determined in step620 whether a file exists within the FLD. If a file exists, then it maybe determined in step 625 whether the content of the file requiresmodification (e.g., META tag for purpose of URI redirection). Ifmodification is needed then the content of the file may be modified instep 630 as necessary. If the FLD does not exist, then a FLD may becreated in step 635. When the FLD is created or when the FLD exists buta file within the FLD does not exist, then a file within the FLD may becreated in step 640. When it is determined in step 620 that the filealready exists and does not need modification in step 625 or the file iscreated in step 640 or the existing file is modified in step 635 then asecond URI may be generated in step 645 including the FLD as part of asearch request. After the accessible URI is created, an attempt may bemade in step 220 to access the URI.

For example, a device receives the input “http://update.to/news”. Whenit is determined that the input is a valid URL (URL is a subset of aURI), a HTTP GET request is submitted to retrieve its content. A “404error code” is received in response to the request indicating that nosuch URL exists. As practiced by those skilled in the art, the “404error code” is commonly redirected to display a gen-eric informativepage alerting the user that no such URL exists. Advantage may be takenby modifying the redirect script.

The modified script may be executed upon the “404 error code” anddetermines that a “/news” directory does not exist and is created.Furthermore, an “index.htm” is created in the “news” directory servingas a default file for the URL listed above. The content of the fileincludes a <META> tag which may be used to redirect the URL to anotherURL such as “http://update.to/cgi-bin/update.cgi?search=news” whichserves as a dynamic output.

For instance, the input “update.to/news” becomes equivalent to“http://update.to/news/index.htm” and includes within the “index.htm”file the following <META> tag:

-   -   <META HTTP-EQUIV=Refresh CONTENT=“5;        URL=http://update.to/cgi-bin/update.cgi?search=news”>        which communicates to a device that interprets HTML to load the        URL “hftp://update.to/cgi-bin/update.cgi?search=news” 5 seconds        after the current document “http://update.to/news/index.htm” has        finished loading. Advertising may be displayed by selecting an        ad from an advertising cache 190 that corresponds to any URI        components or the like before automatic URI redirection.        Advertisement selection is explained in U.S. Provisional        Application Ser. No. 60/153,594 filed Sep. 13, 1999, by        Schneider entitled “Method and apparatus for using a portion of        a URI to select and display advertising.” In another example,        the content of the file may include a <FRAME> tag, which may be        used to access content from        “http://update.to/cgi-bin/update.cgi?search=news”.

In effect, shorter URLs may be generated in real time or on-the-fly whennecessary and used as a substitute or proxy for longer URLs. Though anyfilename may be used, it is a preferred aspect to use “index.htm” as aframe or redirect so the proxy URL is even shorter in string length. Ashorter URL makes it easier for a user to remember the URL for futureuse. The invention is not limited to using only a FLD as a searchrequest. Any directory or combination of directory levels may be eithergenerated on the fly or used as a search request. In addition to usingthe directory portion of a URI as a search request, a domain (e.g., SLD)or any combination of domain levels may in turn be used to generate aquery as well. For example, a subdomain may be generated to create theFQDN “news.update.to” having the minimum form of “scheme://3LD.SLD.TLD”,which may be used to access content from“http://update.to/cgi-bin/update.cgi?search=news”.

Analysis from major online search engines show that more than 90% of allsearch requests include three keywords or less. For instance, the searchrequest “coffee and cream and sugar” can yield“http://example.com/coffee/cream/sugar/index.htm”. In turn, the input“example.com/coffee/cream/sugar” can generate search results therebycombining the step of searching by entering in a web address or URI tosearch. Boolean logic can be applied to extend variations for simplesearch requests. For example, the search request “coffee or cream orsugar” yields “http://example.com/coffee.cream.sugar/index.htm” whereasthe search request “coffee or cream and sugar” yields“http://example.com/coffee.cream/sugar/index.htm”. In effect, URInotation can be used a system to generate a Boolean search request fromthe URI or vice-versa.

FIG. 7 is a flowchart illustrating the steps performed for extracting adomain to be used as a search request. When the input 210 is a valid 215URI or a valid URI is generated in step 230 and the configurationsettings 174 indicate that domain identifier extraction may be used(e.g., SLD) then a script may be executed to extract in step 710 the SLDfrom the valid URI (215, 230) and a second URI may be generated in step715 by using the SLD as part of a search request. The script generates aweb page having two frames. The first frame links to the valid URI andthe second frame links to the second URI which displays content whenaccessed relating to the use of SLD as a keyword in a search request.

FIG. 8 is a diagram depicting how results may be displayed in a webbrowser. A client 110 web browser 112 having a web page 810 is used toconnect to a server 120 via the Internet 130 that runs a CGI script 812.The location field of the web browser 112 is suppressed and the web page810 displays at least two frames. The first frame is the web basedlocation field 814 and the second frame 816 is used to display thecontents 150 of a web address. An input device (e.g., keyboard, mouse,pen light, touch screen, or microphone, etc.) of a client computer ornetwork access apparatus 110 is used to receive a web address as inputeither directly from a hyperlink (not shown) in the web page 810, orfrom the location field 814 of the web page 810. A URL GET request isgenerated from the input and the browser 112 forwards the request to aserver 120, which processes the request by executing a CGI script 812 todetermine accessibility 204. An accessible URI 206 may be generated andthe requested page 150 is sent to the browser 112. The content 150 ofthe URI may be displayed (as discussed in FIG. 6 with a specificexample) in the second frame 816 of the web page 810. The location field814 of the first frame may either persist by displaying the input or iscleared out for entry of another web address.

Another web page 810′ (as discussed in FIG. 7) having a location fieldthat is not suppressed may be displayed by using a different CGI script812. A URL GET request may be generated from the input and the browser112 forwards the request to a server 120, which processes the request byexecuting a CGI script 812 to determine accessibility. An accessible URImay be generated and the requested page 150 is sent to the browser 112.The content 150 of the URI may be displayed in a first frame 818 of theweb page 810′ whereas the content of the second frame 820 may bedynamically generated by corresponding the extracted SLD from the URI asa search term in a second URI. By using the steps illustrated in FIG. 7,when a first URI “http://www.example.com” is received as input, a scriptextracts “example” from the URI and generates a second URI“http://search.yahoo.com/bin/search?p=example”. Both the first URI andsecond URI are generated as frames and displayed as a web page 810′.

Though the above aspects demonstrate how URIs may be accessed based upona web-based version of a location field, similar teachings may beapplied to those skilled in the art by providing a user interfaceelement such as a text box object as input. The text box object may belocated anywhere and on any web page including a text box that may beembedded or displayed as part of an on-line advertisement. The text boxobject may be used in a stand-alone application or stored on magneticand/or optical media that may be non-volatile, writable, removable, orportable. The text box object may be incorporated as an applet orservlet and embedded in other applications. The text box may beintegrated in the task bar or any part of the GUI's OS, or the OSbypassed and a user interface element overlaid as a graphic on a displaydevice based on modifications to a video card and/or it's associatedfirmware or software drivers. A command line text box may be furtheroverlaid as an interactive object in other embodiments such as Internettelevision, cable television, digital television, or interactivetelevision through an Internet appliance or set top box.

Those skilled in the art may make and use software program thatfunctions as a browser plug-in. Such a program may be downloaded andinstalled for integration into the command line of a device or locationfield 154 of a browser program 112. Modifying the source code of thebrowser program 112 itself may be more desirable, in effect, enablingtens of millions of users to take advantage of more creative ways to useinput as a means to access a valid URI.

Although the invention has been shown and described with respect to acertain preferred aspect or aspects, it is obvious that equivalentalterations and modifications will occur to others skilled in the artupon the reading and understanding of this specification and the annexeddrawings. In particular regard to the various functions performed by theabove described items referred to by numerals (components, assemblies,devices, compositions, etc.), the terms (including a reference to a“means”) used to describe such items are intended to correspond, unlessotherwise indicated, to any item which performs the specified functionof the described item (e.g., that is functionally equivalent), eventhough not structurally equivalent to the disclosed structure whichperforms the function in the herein illustrated exemplary aspect oraspects of the invention. In addition, while a particular feature of theinvention may have been described above with respect to only one ofseveral illustrated aspects, such feature may be combined with one ormore other features of the other aspects, as may be desired andadvantageous for any given or particular application.

The description herein with reference to the figures will be understoodto describe the present invention in sufficient detail to enable oneskilled in the art to utilize the present invention in a variety ofapplications and devices. It will be readily apparent that variouschanges and modifications could be made therein without departing fromthe spirit and scope of the invention as defined in the followingclaims.

1. A method for generating newly created information comprising: a userintentionally submitting a request to locate a file that does not existon a server, said request including a Uniform Resource Identifier (URI)having at least one of a scheme, one or more domains, port, path, one ormore directory names, and one or more file names; receiving, at saidserver, said request to locate said file from said server; determiningthat said file can not be located on said server; extracting at leastone keyword from said at least one of a scheme, one or more domains,port, path, one or more directory names, and one or more tile filenames; generating and performing a search request having said at leastone keyword to at least one Internet search engine provider to obtain atleast one web page including said at least one keyword; and, dynamicallygenerating and providing said newly created information to said userwherein said newly created information includes results of said searchrequest from said Internet search engine provider.
 2. The method, as setforth in claim 1, wherein said URI can be represented as“scheme://SLD.TLD/FLD/index.htm” whereby SLD.TLD is a domain name, FLDis a first level directory path, and index.htm is a default file.
 3. Themethod, as set forth in claim 2, further including creating said FLD andsaid default file when it is determined that said file can not belocated on said server.
 4. The method, as set forth in claim 3, whereinsaid default file is capable of dynamically providing said newly createdinformation to said user.
 5. The method, as set forth in claim 1,wherein said URI can be represented as “scheme://3LD.SLD.TLD/index.htm”whereby SLD.TLD is a domain name, 3LD is a subdomain of said domainname, and index.htm is a default file.
 6. The method, as set forth inclaim 5, further including creating said 3LD and said default file whenit is determined that said file can not be located on said server. 7.The method, as set forth in claim 6, wherein said default file iscapable of dynamically generating said newly created information to saiduser.
 8. The method, as set forth in claim 1, wherein said searchrequest includes boolean Boolean logic translated from said path of saidURI.
 9. The method, as set forth in claim 1, further including providingat least one advertisement corresponding to said at least one keywordbefore dynamically generating said newly created information to saiduser.
 10. A method for presenting information, the method comprising:receiving a user request at a computing device, the user requestcomprising a Uniform Resource Identifier (URI) comprising at least oneof a scheme, one or more domains, port, path, one or more directorynames, or one or more file names; determining whether the user requestcorresponds to a valid existing resource available from the computingdevice; the computing device extracting at least one keyword from the atleast one of a scheme, one or more domains, port, path, one or moredirectory names, or one or more file names in response to determiningthe user request does not correspond to a valid existing resource; thecomputing device generating a search request based on at least the atleast one keyword to obtain an identification of at least one resourcecorresponding to the at least one keyword; and the computing devicecommunicating the identification of the at least one resourcecorresponding to the at least one keyword.
 11. The method according toclaim 10, wherein generating a search request comprises generating asearch request to an Internet search engine, and wherein communicatingthe identification of the at least one resource comprises communicatingover the Internet.
 12. The method according to claim 10, wherein the URIcomprises a representation comprising “HLD.TLD/DP” whereby HLD.TLD is adomain name comprising a top level domain (TLD) and at least onehierarchal second or higher level domain name (HLD), and DP is adirectory path.
 13. The method according to claim 12, further comprisingcreating the DP and a resource corresponding to the URI in response tothe URI not corresponding to a valid existing resource.
 14. The methodaccording to claim 13, wherein the resource is adapted to dynamicallyprovide newly created information.
 15. The method according to claim 10,wherein the URI comprises a representation comprising “3LD.SLD.TLD”whereby SLD.TLD is a domain name comprising a top level domain name(TLD) and a second level domain name (SLD), and 3LD is a subdomain ofthe second level domain name.
 16. The method according to claim 15,further comprising creating the 3LD and a resource in response to theURI not corresponding to a valid existing resource.
 17. The methodaccording to claim 16, wherein the resource is capable of dynamicallygenerating newly created information.
 18. The method according to claim10, wherein the query comprises Boolean logic translated from a path ofthe URI.
 19. The method according to claim 10, further comprisingproviding information relating to at least one advertisement relating tothe at least one keyword.
 20. A non-transitory tangible computerreadable medium having instructions stored thereon, the instructionscomprising: instructions for receiving a user request to locate a file,the user request including a Uniform Resource Identifier (URI) having atleast one of a scheme, one or more domains, port, path, one or moredirectory names, or one or more file names; instructions for determiningthat the file cannot be located on a server; instructions for extractingat least one keyword from the at least one of a scheme, one or moredomains, port, path, one or more directory names, or one or more filenames; instructions for generating a search request having the at leastone keyword to obtain at least one web page; and, instructions fordynamically generating and providing newly created information whereinthe newly created information comprises, at least in part, informationthat leads to the at least one web page.
 21. A non-transitory tangiblecomputer readable medium having instructions stored thereon that cause acomputing device to perform operations comprising: determining whether auser request comprising a Uniform Resource Identifier (URI) comprisingat least one of a scheme, domain, port, path, directory name, or filename corresponds to an existing resource; extracting at least onekeyword from the at least one of a scheme, domain, port, path, directoryname, or file name in response to determining that the user request doesnot correspond to an existing resource; generating a query based on atleast the at least one keyword to obtain an identification of at leastone resource corresponding to the at least one keyword; andcommunicating the identification of the at least one resourcecorresponding to the at least one keyword.
 22. The non-transitorytangible computer readable medium according to claim 21, whereingenerating a query comprises generating a search request to an Internetsearch engine and communicating the identification of the at least oneresource comprises communicating via the Internet.
 23. Thenon-transitory tangible computer readable medium according to claim 21,wherein the URI comprises a representation comprising “HLD.TLD/DP”whereby HLD.TLD is a domain name comprising a top level domain (TLD) andat least one hierarchal second or higher level domain name (HLD), and DPis a directory path.
 24. The non-transitory tangible computer readablemedium according to claim 23 having instructions stored thereon thatcause the computing device to perform operations further comprising:creating the DP and a resource corresponding to the URI in response todetermining that the URI does not correspond to an existing resource.25. The non-transitory tangible computer readable medium according toclaim 21 having instructions stored thereon that cause the computingdevice to perform operations further comprising: providing informationrelating to at least one advertisement relating to the at least onekeyword.
 26. A system, comprising: at least one interface adapted toreceive a user request, the user request comprising a Uniform ResourceIdentifier (URI) comprising at least one of a scheme, domain, port,path, directory name, or file name; and at least one computing deviceadapted to: determine whether the user request corresponds to anavailable resource; extract at least one keyword from the at least oneof a scheme, domain, port, path, directory name, or file name inresponse to determining that the request does not correspond to anavailable resource; generate a query based on at least the at least onekeyword to obtain an identification of at least one resourcecorresponding to the at least one keyword; and communicate through theat least one interface, at least one of the query or the identificationof the at least one resource corresponding to the at least one keyword.27. The system according to claim 26, wherein generating a querycomprises generating a search request to an Internet search engine, andcommunicating at least one of the query or the identification of the atleast one resource comprises communicating over the Internet.
 28. Thesystem according to claim 26, wherein the URI comprises a representationcomprising “HLD.TLD/DP” whereby HLD.TLD is a domain name comprising atop level domain (TLD) and at least one hierarchal second or higherlevel domain name (HLD), and DP is a directory path.
 29. The systemaccording to claim 26, wherein the computing device is further adaptedto create the DP and a new resource corresponding to the URI in responseto the computing device determining that the URI does not correspond toan available resource.
 30. The system according to claim 29, wherein thecomputing device is adapted to create the new resource to be adapted todynamically provide newly created information.
 31. The system accordingto claim 26, wherein the URI comprises a representation comprising“3LD.SLD.TLD” whereby SLD.TLD is a domain name comprising a top leveldomain name (TLD) and a second level domain name (SLD), and 3LD is asubdomain of the second level domain name.
 32. The system according toclaim 31, wherein the computing device is adapted to create the 3LD anda default resource in response to the computing device determining thatthe URI does not correspond to an available resource.
 33. The systemaccording to claim 32, wherein the computing device is adapted to createthe default resource to be adapted to dynamically generate newly createdinformation.
 34. The system according to claim 26, wherein the computingdevice is adapted to generate the query comprising Boolean logictranslated from a path of the URI.
 35. The system according to claim 26,wherein the computing device is further adapted to: provide informationrelating to at least one advertisement relating to the at least onekeyword.